\chapter{Casos d'estudi}
En aquest capítol es volen demostrar dos casos d'estudi. Mitjançant aquests és
vol demostrar al lector que el sistema és capaç de complir els seus objectius
establerts.


\section{Cas d'estudi A: Adaptació en LWUIT}
En aquest cas d'estudi es vol fer una adaptació per un determinat contetx
d'usuari que es disposa a utilitzar una aplicació per a un dispositiu mòbil.

\subsection{Requeriments}
Partirem d'una conjunt de requisits. Primer establirem els requisits que
pertanyen al contexte d'usuari del discapacitat:\\
\begin{itemize}
  \item Usuari amb discapactiat física
  \item Temblor
  \item Braç esquerra
  \item Dispositiu tàctil
  \item 50\% d'afectació
\end{itemize}

A més a més es necessita concretar les capacitats del dispositiu mòbil:\\
\begin{itemize}
  \item És capaç d'executar aplicacions J2ME
  \item Existeix definit al sistema en la base de dades de WURFL
  \item El dispositiu disposa de connexió WiFi
\end{itemize}

I també de l'aplicació per la qual es volen oferir propostes de canvis:
\begin{itemize}
  \item Es té el codi font de l'aplicació
  \item Es sap que la llibreria gràfica que utilitza l'aplicació és LWUIT. 
\end{itemize}


\subsection{Objectius}
Partint de totes les condicions establertes en l'anterior apartat i d'un
estudi exhaustiu dels requisits d'aquest usuari discapacitat, es dessitja
aconseguir el següent resultat que es creu que millorarà l'experiència de
l'usuari:\\

\begin{itemize}
  \item Tots els elements del tipus Button de la IU que són adaptables han de
  tenir un tamany d'un 20\% per a contrarestrar la pèrdua de mobilitat de 
  l'usuari.
  \item Tots els elements del tipus Button de la IU que són adaptables s'han de
  mostrar sobre un fons de color . Així també seran més visibles per l'usuari discapacitat.
\end{itemize}

\subsection{Regles per al motor d'inferencia}
El supervisor de l'usuari discapacitat, qui és l'expert, crea la següet regla
per a que el motor d'inferència retorni els objectius dessitjats el punt
anterior:\\

\begin{lstlisting}
import cat.eps.tfc.server.web.server.beans.*;

global ProposalSet output

rule decideAdaptations
    when
eval(WidgetBean(type="Button"))
    then
UIRule rule = new UIRule();
WidgetBean wb = new WidgetBean();
wb.setVerticalSize(50);
wb.setHorizontalSize(50);
rule.setChanges(wb);
output.getRules().add(rule);

end

rule decideAdaptations2
    when
eval(true)
    then
UIRule rule = new UIRule();
WidgetBean wb = new WidgetBean();
wb.setBackgroundColor("0,0,255");
rule.setChanges(wb);
output.getRules().add(rule);

end

\end{lstlisting}

El resultat és mostra en la següent comparativa d'imatges:\\

\begin{figure}[H]
\centering
\includegraphics[width=0.21\textwidth]{imatges/mobil-pre.png}
\includegraphics[width=0.21\textwidth]{imatges/lwuit-post-3.png}
\caption{Abans i després per a LWUIT}
\end{figure}

\section{Cas d'estudi B: Adaptació en SWING}
En aquest cas d'estudi es vol fer una adaptació per un determinat contetx
d'usuari que es disposa a utilitzar una aplicació per a un ordinador de
sobretaula.

\subsection{Requeriments}
Partirem d'una conjunt de requisits. Primer establirem els requisits que
pertanyen al contexte d'usuari del discapacitat:\\
\begin{itemize}
  \item Entorn en un ordinador de sobretaula.
  \item Usuari amb discapactiat visual
  \item Miopia
  \item Ambdós ulls
  \item 50\% d'afectació
\end{itemize}

A més a més es necessita concretar les capacitats del PC:\\
\begin{itemize}
  \item Disposa d'una màquina virtual de Java
\end{itemize}

I també de l'aplicació per la qual es volen oferir propostes de canvis:
\begin{itemize}
  \item Es té el codi font de l'aplicació
  \item Es sap que la llibreria gràfica que utilitza l'aplicació és SWING. 
\end{itemize}


\subsection{Objectius}
Partint de totes les condicions establertes en l'anterior apartat i d'un
estudi exhaustiu dels requisits d'aquest usuari discapacitat, es dessitja
aconseguir el següent resultat que es creu que millorarà l'experiència de
l'usuari:\\

\begin{itemize}
  \item Tots els elements de la IU que són adaptables han de veure's augmentats
  en un 50\% per contrarestrar la pèrdua de visió de l'usuari
  \item Tots els elements de la IU que són adaptables s'han de mostrar sobre un
  fons de color verd
\end{itemize}


\subsection{Regles per al motor d'inferencia}
El supervisor de l'usuari discapacitat, qui és l'expert, crea la següet regla
per a que el motor d'inferència retorni els objectius dessitjats el punt
anterior:\\

\begin{lstlisting}
import cat.eps.tfc.server.web.server.beans.*;

global ProposalSet output

rule decideAdaptations
    when
eval(true)
    then
UIRule rule = new UIRule();
WidgetBean wb = new WidgetBean();
wb.setBackgroundColor("0,255,255");
wb.setVerticalSize(50);
wb.setHorizontalSize(50);
rule.setChanges(wb);
output.getRules().add(rule);

end

\end{lstlisting}

El resultat és mostra en la següent comparativa d'imatges:\\

\begin{figure}[H]
\centering
\includegraphics[width=0.45\textwidth]{imatges/swing-pre.png}
\includegraphics[width=0.45\textwidth]{imatges/SWING-post.png}
\caption{Abans i després per a SWING}
\end{figure}

\section{Cas d'estudi C: Adaptació en SWT}
En aquest cas d'estudi es vol fer una adaptació per un determinat contetx
d'usuari que es disposa a utilitzar una aplicació per a un dispositiu
sobretaula.

\subsection{Requeriments}
Partirem d'una conjunt de requisits. Primer establirem els requisits que
pertanyen al contexte d'usuari del discapacitat:\\
\begin{itemize}
  \item Entorn en un ordinador de sobretaula.
  \item Usuari amb discapactiat visual
  \item Miopia
  \item Ambdós ulls
  \item 50\% d'afectació
\end{itemize}

A més a més es necessita concretar les capacitats del PC:\\
\begin{itemize}
  \item Disposa d'una màquina virtual de Java.
\end{itemize}

I també de l'aplicació per la qual es volen oferir propostes de canvis:
\begin{itemize}
  \item Es té el codi font de l'aplicació
  \item Es sap que la llibreria gràfica que utilitza l'aplicació és SWT. 
\end{itemize}


\subsection{Objectius}
Partint de totes les condicions establertes en l'anterior apartat i d'un
estudi exhaustiu dels requisits d'aquest usuari discapacitat, es dessitja
aconseguir el següent resultat que es creu que millorarà l'experiència de
l'usuari:\\

\begin{itemize}
  \item Tots els elements de la IU que són adaptables han de veure's augmentats
  en un 50\% per contrarestrar la pèrdua de visió de l'usuari.
  \item Tots els elements de la IU que són adaptables s'han de mostrar sobre un
  fons de color verd.
\end{itemize}


\subsection{Regles per al motor d'inferencia}
El supervisor de l'usuari discapacitat, qui és l'expert, crea la següet regla
per a que el motor d'inferència retorni els objectius dessitjats el punt
anterior:\\

\begin{lstlisting}
import cat.eps.tfc.server.web.server.beans.*;

global ProposalSet output

rule decideAdaptations
    when
eval(true)
    then
UIRule rule = new UIRule();
WidgetBean wb = new WidgetBean();
wb.setBackgroundColor("0,255,255");
wb.getFont().setSize(16);
rule.setChanges(wb);
output.getRules().add(rule);

end

\end{lstlisting}

El resultat és mostra en la següent comparativa d'imatges:

\begin{figure}[H]
\centering
\includegraphics[width=0.21\textwidth]{imatges/swt-pre2.png}
\includegraphics[width=0.41\textwidth]{imatges/swt-post2.png}
\caption{Abans i després per a SWT}
\end{figure}
